home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 60.zip / BS1 part 60 / Kick Pascal v2.10 d1.adf / INCLUDE / rctlibrary.lib < prev   
Text File  |  2018-01-27  |  9KB  |  185 lines

  1. {$if not def RCT_LIB}
  2. Const RCT_LIB=7472;
  3. {$if not def INTUITION_INTUITION_H;incl"intuition/intuition.h";endif}
  4. {$if not def LIBRARRIES_DOS_H;incl"libraries/dos.h";endif}
  5.  
  6. Var RctBase:ptr;
  7.  
  8. CONST
  9.  
  10.   Numpairs=9;
  11.  
  12.   Dsize     = 130; { max. Länge des Directorypfades             }
  13.   Fchars   =  30; { max. Länge des Filenamens              }
  14.   Wildlength =  30; { max. Länge von Auswahlwildcards für den Filerequester }
  15.  
  16.   GLNODEFAULTB = 1; { Flag für GetLongStructure.flags, bewirkt, daß beim  }
  17.           { Starten des Requesters die Eingabezeile ganz leerbleibt }
  18.  
  19.   { Flags für die Komponente Flags in der Filerequesterstruktur      }
  20.  
  21.   FRQSHOWINFO    =     1; { .info Files zeigen. Default: Versteckt      }
  22.   FRQEXTSELECT  =   2; { Mehrfachselektionen mögliche. Default: nicht mögl. }
  23.   FRQCACHING  =    4; { Zwischenspeichern von Dirs ein.  Default: aus   }
  24.   FRQGETFONTS    =     8; { Fontrequester gewünscht.             }
  25.   FRQINFOGADGET =  16; { Gadget "Hide .info" nicht erwünscht        }
  26.   FRQHIDEWILDS  =  32; { Gadget 'show' and 'hide' nicht gewünscht      }
  27.   FRQABSOLUTEXY =  64; { Absolute Positionierung gewünscht, nicht nach Maus }
  28.   FRQCACHEPURGE = 128; { Purge="säubern" des Caches bei Änderung d. date stamp}
  29.   FRQNOHALFCACHE= 256; { Directory erst nach kompletten Einlesen in den Cache }
  30.   FRQNOSORT   = 512; { Setzen, falls keine Sortierung erwünscht ist     }
  31.   FRQNODRAG   =1024; { wenn man kein drag bar und depth gadgets wünscht  }
  32.   FRQSAVING   =2048; { Falls ein File zum Speichern gewählt werden soll  }
  33.   FRQLOADING  =4096; { Falls ein zu ladendes File gewählt werden soll    }
  34.  
  35.  
  36. TYPE
  37.  
  38.   TRStructure = Record
  39.   Text     :Str;  { Anzeigetext mit printf() Formatierung     }
  40.   Controls    :Ptr;  { Adr. d. Parameterliste für printf-Formatierung }
  41.   Window   :Ptr;    { Zeiger auf eig. Windowstruktur, falls nicht WB }
  42.   MiddleText  :Str;    { Hierhin kommen die Zeiger für die 3 gewünschten }
  43.   PositiveText :Str;  { Knopftexte, oder NIL für nicht gewünschte Knöpfe }
  44.   NegativeText :Str;  { Zurückgegeben wird je nach gedr.Knopf 0,1, oder 2}
  45.   Title     :Str;  { Zeiger auf gewünschten Requestertitel     }
  46.   KeyMask    :Word  { Falls Keyboarbedienung möglich sein soll, $ffff, }
  47.             { sonst 0. Betätigung: positiv mit Y,V, neg. mit }
  48.             { N,Q,B mittleren Knopf mit Taste M       }
  49.   textcolor  :Word  { Textfarbe, default: 1              }
  50.   detailcolor :Word    { Detailfarbe, default: 0             }
  51.   blockcolor  :Word    { Blockfarbe, default: 1            }
  52.   versionnumber :Word  { Muß auf 0 gesetzt werden             }
  53.   rfu1     :Long  { Muß auf 0 gesetzt werden             }
  54.   rfu2     :Long  { Muß auf 0 gesetzt werden             }
  55.   end;
  56.  
  57.  
  58.   GetLongStruct = Record
  59.   titlebar    :Str;  { Zeiger auf den Titel des Requesters      }
  60.   defaultval  :Long; { default Zahlenwert              }
  61.   minlimit    :Long; { Minimal eingebbarer Wert            }
  62.   maxlimit    :Long; { Maximal eingebbarer Wert            }
  63.   result   :Long; { Hier steht hinterher das Ergebnis drin      }
  64.   Window   :Ptr;    { Falls eigener Screen, sonst NIL        }
  65.   versionnumber :Word; { Hier muß 0 rein                 }
  66.   flags     :Long; { GLNodefault (siehe oben) oder 0       }
  67.   rfu2     :Long; { Muß 0 sein                 }
  68.   end;
  69.  
  70.  
  71.   p_ESStructure = ^ESStructure;     { Struktur für Mehrfachauswahl beim FReq.}
  72.   ESStructure = Record
  73.   ESStructure     : p_ESStructure; { Zeiger auf nächste ES-Structure    }
  74.   NameLength     : Word;     { Länge von "thefilename"         }
  75.   Pad       : Word;
  76.   Node        : Ptr;      { For internal use only.       }
  77.   thefilename     : String[31];  { Filename              }
  78.   end;
  79.  
  80.  
  81.   RCTFileRequester = Record
  82.   VersionNumber  :Word; { Muß 0 sein                }
  83.   Title      :Str;    { Zeiger auf Requestertitel         }
  84.   Dirname     :Str;  { Zeiger auf Verzeichnisnamen (max 130 Zeichen) }
  85.   Filename     :Str;  { Zeiger auf Filenamen    (max. 30 Zeichen) }
  86.   PathName     :Str;  { Zeiger auf kompl. Pfadnamen (max.160 Zeichen) }
  87.   Window     :Ptr;  { Zeiger auf Windowstruktur bei CustomScreen  }
  88.   MaxExtSelect  :Word; { Max. Anwählbare Files (nur mit FRQExtSelect) }
  89.   numlines     :Word; { Anzahl der Zeilen im File window.        }
  90.   numcolumns    :Word; { Anzahl der Spalten im File Window      }
  91.   devcolumns    :Word; { Anzahl der Spalten im Device-Window     }
  92.   Flags      :Long; { Flags für diverse Funktionen, siehe oben  }
  93.   dirnamescolor  :Word;
  94.   filenamescolor :Word; { Die folgenden Farben werden auf default ge- }
  95.   devicenamescolor :Word; { setzt, falls sie mit 0 initialisiert werden, }
  96.   fontnamescolor :Word; { hier kann man jedoch auch die Farben nach    }
  97.   fontsizescolor :Word; { Geschmack eingetragen werden....        }
  98.   detailcolor    :Word; { default : 0               }
  99.   blockcolor    :Word; { default : 1               }
  100.   gadgettextcolor :Word; { default : 1               }
  101.   textmessagecolor :Word; { default : 1                }
  102.   stringnamecolor :word; { default : 3               }
  103.   stringgadgetcolor:word; { default : 3                }
  104.   boxbordercolor :Word; { default : 3                 }
  105.   gadgetboxcolor :Word; { default : 3                 }
  106.   RFU_Stuff   :String[36]; { Frei für zukünft. Erweiterung, muß 0 sein }
  107.   DateStamp   :DateStamp;    { DateStamp des Dirs, aus libraries/dos.h }
  108.   WindowLeftEdge :Word; { In Verbindung mit FRQABSOLUTEXY lässt sich  }
  109.   WindowTopEdge  :Word; { die Pos. der linken oberen Ecke festlegen    }
  110.   FontYSize   :Word; { Beim Fontrequester werden hier die gewählte }
  111.   FontStyle   :Word; { Größe und "Style" (?) zurückgegeben      }
  112.   ExtendedSelect :p_ESStructure;{ Zeiger auf Struktur für Mehrfachauswahl }
  113.   Hide      :String[32]; { Wildcards zur Selektion über Hide - Feld }
  114.   Show      :String[32]; { Wildcards zur Selektion über Show - Feld }
  115.   FileBufferPos  :Word;
  116.   FileDispPos    :Word; { Diverse Felder, dienen zur Positionierung des }
  117.   DirBufferPos  :Word; { Cursors in den unterschiedlichen Gadgets  }
  118.   DirDispPos    :word;
  119.   HideBufferPos  :word;
  120.   HideDispPos    :word;
  121.   ShowBufferPos  :word;
  122.   ShowDispPos    :word;
  123.   Memory     :Ptr;  { Ab hier ist jeder Zugriff auf die Record-  }
  124.   Memory2     :Ptr;  { Elemente verboten (Private Area)      }
  125.   Lock      :Ptr;
  126.   PrivateDirBuffer :String[132];
  127.   FileInfoBlock  :Ptr;
  128.   NumEntries    :Word;
  129.   NumHiddenEntries :Word;
  130.   filestartnumber :Word;
  131.   devicestartnumber:Word;
  132.   end;
  133.  
  134. Library RctBase:
  135. -30: Function rctload(a0:Str):ptr;
  136. -36: Function rctfree(a0:ptr):Boolean;
  137. -42: Function rctaddr(a0:ptr;d0,d1:Integer):ptr;
  138. -48: Function reqcenter(a0:ptr;a1:p_Requester;a2:p_Window):Boolean;
  139. -54: Function reqdraw(a0:ptr;a1:p_Requester;a2:p_Window):Boolean;
  140. -60: Function reqend(a0:ptr;a1:p_Requester;a2:p_Window):Boolean;
  141. -66: Function getreqstruct(a0:ptr;a1:p_Requester;d0:Integer):Long;
  142. -72: Function setreqstruct(a0:ptr;a1:p_Requester;d0:Integer;d1:Long):Boolean;
  143. -78: Function setreqtext(a0:ptr;a1:p_Requester;d0:Integer;a2:Str):Boolean;
  144. -84: Function getreqtext(a0:ptr;a1:p_Requester;d0:Integer):Str;
  145. -90: Function gettextstruct(a0:ptr;a1:p_Requester;d0,d1:Integer):Long;
  146. -96: Function settextstruct(a0:ptr;a1:p_Requester;d0,d1:Integer;d2:Long):Boolean;
  147. -102:Function setgadtext(a0:ptr;a1:p_Requester;d0:Integer;a2:Str):Boolean;
  148. -108:Function getgadtext(a0:ptr;a1:p_Requester;d0:Integer):Str;
  149. -114:Function getgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer):Long;
  150. -120:Function setgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer;d2:Long):Boolean;
  151. -126:Function redrawgadgets(a0:ptr;a1:p_Requester;d0:Integer):Boolean;
  152. -132:Function redrawgad(a0:ptr;a1:p_Requester;d0,d1:Integer):Boolean;
  153. -138:Function activegad(a0:ptr;a1:p_Requester;d0:Long):Boolean;
  154. -144:Function setstrgadtext(a0:ptr;a1:p_Requester;d0:Integer,a2:Str):Boolean;
  155. -150:Function getstrgadtext(a0:ptr;a1:p_Requester;d0:Integer):Str;
  156. -156:Function setstrgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer;d2:Long):Boolean;
  157. -162:Function getstrgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer):Long;
  158. -168:Function setpropgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer;d2:Long):Boolean;
  159. -174:Function getpropgadstruct(a0:ptr;a1:p_Requester;d0,d1:Integer):Long;
  160. -180:Function menudraw(a0:ptr;a1:p_Menu;a2:p_Window):Boolean;
  161. -186:Function menuend(a0:ptr;a1:p_Menu;a2:p_Window):Boolean;
  162. -192:Function setmenutitle(a0:ptr;a1:p_Menu;d0:Integer;a2:Str):Boolean;
  163. -198:Function getmenutitle(a0:ptr;a1:p_Menu;d0:Integer):Str;
  164. -204:Function setmenustruct(a0:ptr;a1:p_Menu;d0,d1:Integer;d2:Long):Boolean;
  165. -210:Function getmenustruct(a0:ptr;a1:p_Menu;d0,d1:Integer):Long;
  166. -216:Function setmenuitext(a0:ptr;a1:p_Menu,d0,d1:Integer;a2:Str):Boolean;
  167. -222:Function getmenuitext(a0:ptr;a1:p_Menu;d0,d1:Integer):Str;
  168. -228:Function setmenuitemstruct(a0:ptr;a1:p_Menu;d0,d1,d2:Integer;d3:Long):Boolean;
  169. -234:Function getmenuitemstruct(a0:ptr;a1:p_Menu,d0,d1,d2:Integer):Long;
  170. -240:Function setmenustext(a0:ptr;a1:p_Menu;d0,d1,d2:Integer;a2:Str):Boolean;
  171. -246:Function getmenustext(a0:ptr;a1:p_Menu;d0,d1,d2:Integer):Str;
  172. -252:Function setmenusubstruct(a0:ptr;a1:p_Menu;d0,d1,d2,d3:Integer;d4:Long):Boolean;
  173. -258:Function getmenusubstruct(a0:ptr;a1:p_Menu;d0,d1,d2,d3:Integer):Long;
  174. -264:Function reqdrawwindow(a0:ptr;a1:p_Requester,a2:p_Screen;a3:Str):p_Window;
  175. -270:Function reqwait(a0:ptr;a1:p_Requester;a2:ptr):Integer;
  176. -276:Function showscreen(a0:ptr;d0,d1:Integer;a1:Str):p_Screen;
  177. -282:Function remscreen(a0:ptr;a1:p_screen):Boolean;
  178. -288:Function form_alert(d0:Integer;a0:Str):Integer;
  179. -294:Function filer(a0: ptr):Boolean;
  180. -300:Procedure filercachefree(a0: ptr);
  181. -306:Procedure waitall(a0:p_MsgPort;a1: p_IntuiMessage);
  182. End;
  183. {$endif}
  184.  
  185.